Cache Yazma Stratejileri

Cache'e yazma işlemi yapıldığında hem cache hem de ana belleği tutarlı tutmak gerekir.

Write-Through (Doğrudan Yazma)

Her yazma işleminde hem cache hem de ana bellek güncellenir.

  • Avantaj: Cache ve bellek her zaman tutarlı
  • Dezavantaj: Her yazma yavaş (belleğe yazma gerekir)

Write-Back (Geri Yazma)

Sadece cache güncellenir, ana bellek bloğun cache'ten çıkarılacağı zaman güncellenir.

  • Avantaj: Yazma işlemi hızlı (sadece cache)
  • Dezavantaj: Cache ve bellek geçici olarak tutarsız olabilir
  • Dirty Bit: Bloğun değiştirildiğini işaretler

Cache Miss Türleri

  • Compulsory Miss: İlk erişim, cache boş
  • Capacity Miss: Cache çok küçük, sığmadı
  • Conflict Miss: Farklı adresler aynı cache satırına eşlendi

Performans Hesaplama

Average Memory Access Time (AMAT) = Hit Time + (Miss Rate × Miss Penalty)

Örnek:
Hit Time = 1 ns
Miss Rate = 5% = 0.05
Miss Penalty = 100 ns
AMAT = 1 + (0.05 × 100) = 1 + 5 = 6 ns

Cache Performansını Artırma

  • Cache boyutunu artır: Daha fazla veri sığar
  • Blok boyutunu artır: Spatial locality'den faydalanır
  • Associativity artır: Conflict miss'leri azaltır
  • Multi-level cache: L1, L2, L3 cache kullan

Write Buffer

Write-through'da belleğe yazma yavaş olduğundan, yazılacak veriler önce write buffer'a konur ve arka planda belleğe yazılır.

Performans Trade-offs

Özellik Artırılırsa Etki
Cache Boyutu ↑ Miss rate azalır ↓ Hit time artar (daha yavaş)
Blok Boyutu ↑ Spatial locality ↑ Miss penalty artar
Associativity ↓ Conflict miss azalır ↑ Hit time artar

Soru 1: Write-Through stratejisinde yazma nereye yapılır?

  • A) Sadece cache
  • B) Sadece RAM
  • C) Hem cache hem RAM
  • D) Hiçbir yere

Soru 2: Write-Back stratejisinin avantajı nedir?

  • A) Her zaman tutarlı
  • B) Yazma çok hızlı
  • C) Basit yapı
  • D) Ucuz

Soru 3: Dirty Bit ne işe yarar?

  • A) Hız ölçümü
  • B) Bloğun değiştirildiğini işaretler
  • C) Adres saklar
  • D) Boyut belirler

Soru 4: Compulsory Miss ne demektir?

  • A) Cache doldu
  • B) İlk erişim, veri cache'te henüz yok
  • C) Adres çakışması
  • D) Hata

Soru 5: Capacity Miss ne demektir?

  • A) İlk erişim
  • B) Cache çok küçük, veri sığmadı
  • C) Adres çakışması
  • D) Hata

Soru 6: Conflict Miss ne demektir?

  • A) İlk erişim
  • B) Cache küçük
  • C) Farklı adresler aynı cache satırına eşlendi
  • D) Hata

Soru 7: AMAT formülü nedir?

  • A) Hit Time × Miss Rate
  • B) Hit Time + (Miss Rate × Miss Penalty)
  • C) Miss / Hit
  • D) Total / Hits

Soru 8: Write Buffer ne işe yarar?

  • A) Okuma hızlandırma
  • B) Yazılacak verileri geçici tutar
  • C) Cache temizleme
  • D) Hata düzeltme

Soru 9: Cache boyutu artırılırsa ne olur?

  • A) Miss rate artar
  • B) Miss rate azalır, hit time artar
  • C) Her şey yavaşlar
  • D) Değişmez

Soru 10: Blok boyutu artırılırsa ne olur?

  • A) Spatial locality artar ama miss penalty artar
  • B) Her şey iyileşir
  • C) Miss artar
  • D) Hız azalır
Write-Through
Her yazma hem cache hem RAM'e
Write-Back
Sadece cache'e yaz, sonra RAM'e gönder
Dirty Bit
Bloğun değiştirildiğini işaretler
Compulsory Miss
İlk erişim miss'i - kaçınılmaz
Capacity Miss
Cache çok küçük, veri sığmadı
Conflict Miss
Adres çakışması nedeniyle miss
AMAT
Hit Time + (Miss Rate × Miss Penalty)
Hit Time
Cache'ten okuma süresi (~1-2ns)
Miss Penalty
RAM'den getirme cezası (~100ns)
Write Buffer
Yazılacak verileri bekletir
Cache boyutu ↑
Miss rate ↓, hit time ↑
Blok boyutu ↑
Spatial locality ↑, miss penalty ↑
Associativity ↑
Conflict miss ↓, hit time ↑
Multi-level cache
L1 + L2 + L3 hiyerarşisi
Performans
AMAT'ı minimize et